<template>
    <div>

        <el-card shadow="hover" class="mgb20" style="height:600px;">
            <div class="user-info">
                <img src="../../assets/img/img.jpg" class="user-avator" alt/>
                <div class="user-info-cont">
                    <div class="user-info-name">{{name}}</div>
                    <div>管理员</div>
                </div>
            </div>
            <div>欢迎</div>
            <div id="chartPie" :style="{width: '500px', height: '300px'}"></div>
<!--            <div id="chartPie" class="pie-wrap"></div>-->
        </el-card>

    </div>
</template>

<script>
    import Schart from 'vue-schart';
    import bus from '../common/bus';
    import * as echarts from 'echarts';
    import { data } from '../../api/modular/goods/goodsManage';
    // require('echarts/theme/macarons');//引入主题
    export default {
        name: 'dashboard',
        data() {
            return {
                name: localStorage.getItem('ms_username'),
                image: localStorage.getItem('ms_userImage'),
                chartPie: null,
                binData: []
            };
        },
        mounted() {

            this.drawPieChart();
            // this.$nextTick(() => {
            //     this.drawPieChart();
            // })
        },
        components: {
            Schart
        },
        computed: {
            role() {
                return this.name === 'admin' ? '超级管理员' : '普通用户';
            }
        },
        created() {

        },
        // activated() {
        //     this.handleListener();
        // },
        // deactivated() {
        //     window.removeEventListener('resize', this.renderChart);
        //     bus.$off('collapse', this.handleBus);
        // },
        methods: {
            changeDate() {
                const now = new Date().getTime();
                this.data.forEach((item, index) => {
                    const date = new Date(now - (6 - index) * 86400000);
                    item.name = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
                });
            },
            async drawPieChart() {
                let mytextStyle = {
                    color: '#333',
                    fontSize: 18
                };
                let mylabel = {
                    show: true,
                    position: 'right',
                    offset: [30, 40],
                    formatter: '{b} : {c} ({d}%)',
                    textStyle: mytextStyle
                };
                let bingdata = []
                await data().then((res)=>{
                    this.binData = res.data
                    // console.log(res.data)
                })
                console.log(this.binData)
                this.chartPie = echarts.init(document.getElementById('chartPie'), 'macarons');
                this.chartPie.setOption({
                    title: {
                        text: '销量饼状图',
                        // subtext: '纯属虚构',
                        x: 'center'
                    },
                    tooltip: {
                        trigger: 'item',
                        formatter: '{a} <br/>{b} : {c} ({d}%)'
                    },
                    legend: {
                        data: ['女装', '男装', '包袋', '配饰', '五金','玩具'],
                        left: 'center',
                        top: 'bottom',
                        orient: 'horizontal'
                    },
                    series: [
                        {
                            name: '访问来源',
                            type: 'pie',
                            radius: ['50%', '70%'],
                            center: ['50%', '50%'],
                            // data: [
                            //     { value: 335, name: '直接访问' },
                            //     { value: 310, name: '邮件营销' },
                            //     { value: 234, name: '联盟广告' },
                            //     { value: 135, name: '视频广告' },
                            //     { value: 1548, name: '搜索引擎' }
                            // ],
                            data: this.binData,
                            animationEasing: 'cubicInOut',
                            animationDuration: 2600,
                            label: {
                                emphasis: mylabel
                            }
                        }
                    ]
                });
            }
        }
    };
</script>


<style scoped>
    .el-row {
        margin-bottom: 20px;
    }

    .grid-content {
        display: flex;
        align-items: center;
        height: 100px;
    }

    .grid-cont-right {
        flex: 1;
        text-align: center;
        font-size: 14px;
        color: #999;
    }

    .grid-num {
        font-size: 30px;
        font-weight: bold;
    }

    .grid-con-icon {
        font-size: 50px;
        width: 100px;
        height: 100px;
        text-align: center;
        line-height: 100px;
        color: #fff;
    }

    .grid-con-1 .grid-con-icon {
        background: rgb(45, 140, 240);
    }

    .grid-con-1 .grid-num {
        color: rgb(45, 140, 240);
    }

    .grid-con-2 .grid-con-icon {
        background: rgb(100, 213, 114);
    }

    .grid-con-2 .grid-num {
        color: rgb(45, 140, 240);
    }

    .grid-con-3 .grid-con-icon {
        background: rgb(242, 94, 67);
    }

    .grid-con-3 .grid-num {
        color: rgb(242, 94, 67);
    }

    .user-info {
        display: flex;
        align-items: center;
        padding-bottom: 20px;
        border-bottom: 2px solid #ccc;
        margin-bottom: 20px;
    }

    .user-avator {
        width: 120px;
        height: 120px;
        border-radius: 50%;
    }

    .user-info-cont {
        padding-left: 50px;
        flex: 1;
        font-size: 14px;
        color: #999;
    }

    .user-info-cont div:first-child {
        font-size: 30px;
        color: #222;
    }

    .user-info-list {
        font-size: 14px;
        color: #999;
        line-height: 25px;
    }

    .user-info-list span {
        margin-left: 70px;
    }

    .mgb20 {
        margin-bottom: 20px;
    }

    .todo-item {
        font-size: 14px;
    }

    .todo-item-del {
        text-decoration: line-through;
        color: #999;
    }

    .schart {
        width: 100%;
        height: 300px;
    }
</style>
